STABLE: Combining Satisfiability Solving, Boolean Reasoning and Computer Algebra for System-on-Chip Verification
نویسندگان
چکیده
This paper presents a new satisfiability (SAT) modulo Theory (SMT) solver, STABLE, for formulas of the quantifierfree logic over fixed-sized bit vectors (QF-BV). As the primary application domain for STABLE we target an SMT-based property checking flow for System-on-Chip (SoC) designs. STABLE integrates a computer-algebra-based engine which provides algorithms for proving arithmetic problem parts with a standard SAT approach, where an SMT instance is transformed into an equisatisfiable SAT-instance. To extend the scope of the computer-algebra engine we also include an extraction technique that derives required arithmetic information from gate-level parts of an instance. This is crucial when verifying industrial high performance data-paths where critical components have been optimized at the gate-level. STABLE was successfully evaluated in comparison with other state-of-the-art SMT solvers on a large collection of SMT formulas describing verification problems of industrial data path designs that include multiplication. In contrast to the other solvers STABLE was able to solve instances with bit-widths of up to 64 bits.
منابع مشابه
Satisfiability Solving for Program Verification: towards the Efficient Combination of Automated Theorem Provers and Satisfiability Modulo Theory Tools
Many approaches to software verification require to check the satisfiability of first-order formulae. For such techniques, it is of crucial importance to have satisfiability solvers which are both scalable, predictable and flexible. We describe our approach to build solvers satisfying such requirements by combining equational theorem proving, Boolean solving, Arithmetic reasoning, and some tran...
متن کاملSolving hard instances in QF-BV combining Boolean reasoning with computer algebra
This paper describes our new satisfyability (SAT) modulo theory (SMT) solver STABLE for the quantifier-free logic over fixedsized bit vectors. Our main application domain is formal verification of system-on-chip (SoC) modules designed for complex computational tasks, for example, in signal processing applications. Ensuring proper functional behavior for such modules, including arithmetic correc...
متن کاملAdaptive Eager Boolean Encoding for Arithmetic Reasoning in Verification
Decision procedures for first-order logics are widely applicable in design verification and static program analysis. However, existing procedures rarely scale to large systems, especially for verifying properties that depend on data or timing, in addition to control. This thesis presents a new approach for building efficient, automated decision procedures for first-order logics involving arithm...
متن کاملSMT Beyond DPLL(T): A New Approach to Theory Solvers and Theory Combination
Satisifiability modulo theories (smt) is the problem of deciding whether a given logical formula can be satisifed with respect to a combination of background theories. The past few decades have seen many significant developments in the field, including fast Boolean satisfiability solvers (sat), efficient decision procedures for a growing number of expressive theories, and frameworks for modular...
متن کاملCombining Theories with Shared Set Operations
Motivated by applications in software verification, we explore automated reasoning about the non-disjoint combination of theories of infinitely many finite structures, where the theories share set variables and set operations. We prove a combination theorem and apply it to show the decidability of the satisfiability problem for a class of formulas obtained by applying propositional connectives ...
متن کامل